var gulp = require("gulp");   // 引入核心工具
var gulp_minify_css = require("gulp-minify-css");//压缩css
//require属于CMD规范
var gulp_sass = require("gulp-sass")//编译sass文件
var gulp_uglify = require("gulp-uglify")//压缩js文件
var babel = require('gulp-babel'); //将ES6代码转为ES5
var browserSync = require('browser-sync').create();//浏览器热更新
var tiny = require("gulp-tinypng"); //tinypng压缩图片 
//自动添加css属性的前缀
//cnpm i --save-dev gulp-autoprefixer
var autoprefixer = require("gulp-autoprefixer");
//复制静态资源文件
//cnpm i --save-dev gulp-copy
var copy = require("gulp-copy");
//定义自动刷新浏览器任务
gulp.task("bs",function(){
	browserSync.init({
		server:{
			baseDir:"./"
		},
		//修改端口号
		port:4000
	})
	gulp.watch("src/scss/**/*.scss" ,["sass"])
		.on("change",browserSync.reload)
});

//自定义一个任务
gulp.task("init" ,function(){
	console.log("init");
})
//自定义默认任务
gulp.task("default",function(){
	console.log("default");
})
//编译sass
gulp.task("sass",function(){
	gulp.src("src/scss/**/*.scss")
	.pipe(gulp_sass())
	.pipe(gulp.dest("dist/css"))
})
//监听scss,并将其转化为css
gulp.task("watchscss",function(){
	gulp.watch("src/scss/**/*.scss",["sass"])
		.on("change",function(e){
			console.log(e)
		})
})
//压缩css
gulp.task("minifycss",function(){
//	文件源头 
	gulp.src("src/css/*/*.css") //*号代表所有
	.pipe(autoprefixer({
		browsers:['last 2 versions','Android >= 4.0','ios 7','last 3 safari versions'],
		remove:true,
		cascade:true //美化属性：例如-webkit
	}))
		.pipe(gulp_minify_css())
		.pipe(gulp.dest("dist/css"));
})

//压缩js
gulp.task("minifyjs",function(){
//	文件源头 
	gulp.src("src/js/**/*.js") //*号代表所有
		.pipe(babel({
				presets:['env']
		}))
		.pipe(gulp_uglify())
		.pipe(gulp.dest("dist/js"));
})
//复制HTML文件
gulp.task("copyHtml",function(){
	gulp.src("src/**/*.html")
		.pipe(gulp.dest("dist/"))	
})

//压缩图片 cnpm install gulp-tinypng --save-dev
gulp.task("minifyimg",function(){
	//代表src/img目录下的任意文件夹中的任意文件
	gulp.src("src/img/**/*.*")
        .pipe(tiny('s7XAma9jZvBwBRutfxhNe4VsHDaYEkSW'))
        .pipe(gulp.dest('dist/img/'));
})

//复制静态文件
gulp.task("copy",function(){
	gulp.src("src/media/**/*.*")
	.pipe(copy("dist/media/",{prefix:"2"}))
})

//一键压缩css,js,HTML
gulp.task("pro",["copyHtml","minifycss","minifyjs","minifyimg","minifyimg","sass"])
